#pragma once

#include "tablas_global.h"
#include <QSize>
#include <QRect>
#include <QMap>
#include <QFile>
#include <QDebug>
#include <QDomElement>
#include "formateadortabla.h"
#include "Dialogo.h"

class TABLAS_EXPORT Global
{
public:
    virtual ~Global();

    static Global* instancia();
    static void destruirInstancia();

    QSize obtenerTamanoVentana(const QString& identificador);
    void asignarTamanoVentana(const QString& identificador, const QSize& tamano);

    void cargarConfiguracion(QDomDocument documento);
    void guardarConfiguracion(QDomDocument documento);

    Formateador* getFormateadorTabla() { return &formateadorTabla; }
    
    static bool mostrarMensaje(QWidget* padre, QString mensaje, int tipo);

private:
    Global();

    static Global* _instancia;
    QMap<QString, QSize> mapaDimensiones;
    FormateadorTabla formateadorTabla;
};
